package com.xmy.erp.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 订单
 * </p>
 *
 * @author hpiggy
 * @since 2023-09-09
 */
@TableName("shopping_order")
@ApiModel(value = "ShoppingOrder对象", description = "订单")
public class ShoppingOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    @ApiModelProperty("校区id")
    private Long schoolId;

    @ApiModelProperty("学期id")
    private Long studentId;

    @ApiModelProperty("班级id")
    private Long gradeId;

    @ApiModelProperty("班级名称")
    private String gradeName;

    @ApiModelProperty("商品id")
    private Long shoppingId;

    @ApiModelProperty("年级")
    private Integer yearClassId;

    @ApiModelProperty("商品名称")
    private String shoppingName;

    @ApiModelProperty("订单号")
    private String orderNo;

    @ApiModelProperty("课程数量")
    private Integer courseCount;

    @ApiModelProperty("金额")
    private BigDecimal price;

    @ApiModelProperty("优惠属性id")
    private Long shoppingDiscountsId;

    @ApiModelProperty("期数")
    private Integer periods;

    @ApiModelProperty("家长openid")
    private String openid;

    @ApiModelProperty("科目id")
    private Long subjectsId;

    @ApiModelProperty("科目名称")
    private String subjectsName;

    @ApiModelProperty("0待支付，1已支付，2支付失败，3订单取消")
    private Integer status;

    @ApiModelProperty("年份")
    private Integer yearPart;

    @ApiModelProperty("季度（学期）（班级所属学期）")
    private Integer quarterNum;

    @ApiModelProperty("确认学期（支付完成后家长的确认学期）")
    private Integer affirmQuarterNum;

    @ApiModelProperty("银盛支付交易流水号")
    private String tradeNo;

    @ApiModelProperty("发往渠道流水号")
    private String channelSendSn;

    private Integer deleted;

    @ApiModelProperty("创建时间")
    private LocalDateTime createdAt;

    @ApiModelProperty("修改时间")
    private LocalDateTime updatedAt;

    private LocalDateTime deletedAt;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    public Long getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(Long schoolId) {
        this.schoolId = schoolId;
    }
    public Long getStudentId() {
        return studentId;
    }

    public void setStudentId(Long studentId) {
        this.studentId = studentId;
    }
    public Long getGradeId() {
        return gradeId;
    }

    public void setGradeId(Long gradeId) {
        this.gradeId = gradeId;
    }
    public String getGradeName() {
        return gradeName;
    }

    public void setGradeName(String gradeName) {
        this.gradeName = gradeName;
    }
    public Long getShoppingId() {
        return shoppingId;
    }

    public void setShoppingId(Long shoppingId) {
        this.shoppingId = shoppingId;
    }
    public Integer getYearClassId() {
        return yearClassId;
    }

    public void setYearClassId(Integer yearClassId) {
        this.yearClassId = yearClassId;
    }
    public String getShoppingName() {
        return shoppingName;
    }

    public void setShoppingName(String shoppingName) {
        this.shoppingName = shoppingName;
    }
    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }
    public Integer getCourseCount() {
        return courseCount;
    }

    public void setCourseCount(Integer courseCount) {
        this.courseCount = courseCount;
    }
    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }
    public Long getShoppingDiscountsId() {
        return shoppingDiscountsId;
    }

    public void setShoppingDiscountsId(Long shoppingDiscountsId) {
        this.shoppingDiscountsId = shoppingDiscountsId;
    }
    public Integer getPeriods() {
        return periods;
    }

    public void setPeriods(Integer periods) {
        this.periods = periods;
    }
    public String getOpenid() {
        return openid;
    }

    public void setOpenid(String openid) {
        this.openid = openid;
    }
    public Long getSubjectsId() {
        return subjectsId;
    }

    public void setSubjectsId(Long subjectsId) {
        this.subjectsId = subjectsId;
    }
    public String getSubjectsName() {
        return subjectsName;
    }

    public void setSubjectsName(String subjectsName) {
        this.subjectsName = subjectsName;
    }
    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }
    public Integer getYearPart() {
        return yearPart;
    }

    public void setYearPart(Integer yearPart) {
        this.yearPart = yearPart;
    }
    public Integer getQuarterNum() {
        return quarterNum;
    }

    public void setQuarterNum(Integer quarterNum) {
        this.quarterNum = quarterNum;
    }
    public Integer getAffirmQuarterNum() {
        return affirmQuarterNum;
    }

    public void setAffirmQuarterNum(Integer affirmQuarterNum) {
        this.affirmQuarterNum = affirmQuarterNum;
    }
    public String getTradeNo() {
        return tradeNo;
    }

    public void setTradeNo(String tradeNo) {
        this.tradeNo = tradeNo;
    }
    public String getChannelSendSn() {
        return channelSendSn;
    }

    public void setChannelSendSn(String channelSendSn) {
        this.channelSendSn = channelSendSn;
    }
    public Integer getDeleted() {
        return deleted;
    }

    public void setDeleted(Integer deleted) {
        this.deleted = deleted;
    }
    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }
    public LocalDateTime getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(LocalDateTime updatedAt) {
        this.updatedAt = updatedAt;
    }
    public LocalDateTime getDeletedAt() {
        return deletedAt;
    }

    public void setDeletedAt(LocalDateTime deletedAt) {
        this.deletedAt = deletedAt;
    }

    @Override
    public String toString() {
        return "ShoppingOrder{" +
            "id=" + id +
            ", schoolId=" + schoolId +
            ", studentId=" + studentId +
            ", gradeId=" + gradeId +
            ", gradeName=" + gradeName +
            ", shoppingId=" + shoppingId +
            ", yearClassId=" + yearClassId +
            ", shoppingName=" + shoppingName +
            ", orderNo=" + orderNo +
            ", courseCount=" + courseCount +
            ", price=" + price +
            ", shoppingDiscountsId=" + shoppingDiscountsId +
            ", periods=" + periods +
            ", openid=" + openid +
            ", subjectsId=" + subjectsId +
            ", subjectsName=" + subjectsName +
            ", status=" + status +
            ", yearPart=" + yearPart +
            ", quarterNum=" + quarterNum +
            ", affirmQuarterNum=" + affirmQuarterNum +
            ", tradeNo=" + tradeNo +
            ", channelSendSn=" + channelSendSn +
            ", deleted=" + deleted +
            ", createdAt=" + createdAt +
            ", updatedAt=" + updatedAt +
            ", deletedAt=" + deletedAt +
        "}";
    }
}
